import prisma from "./index.js";


export async function getAllLinks() {
    return prisma.links.findMany({
        where: {
            status: 2
        },
        orderBy: {
            likes: 'desc'
        }
    })
}


export async function adminGetAllLinks() {
    return prisma.links.findMany({

    })
}


//data: {id:1}
export async function getLinkById(data) {
    return prisma.links.findUnique({
        where: data
    })
}




export async function getAllTips() {
    return prisma.tips.findMany()
}


export async function getTipsById(id) {
    return prisma.tips.findUnique({
        where: {
            id
        }
    })
}


export async function addLink(data) {
    return prisma.links.create({
        data
    })
}

export async function updateTags(_tips, _id) {
    const id = Number(_id)
    const tips = JSON.stringify(_tips)
    return prisma.links.update({
        where: {
            id,
        },
        data: { tips }
    })
}

//评论后改变Star
export async function updateStars(id, starts) {
    return prisma.links.update({
        where: {
            id,
        },
        data: {
            start: starts
        }
    })
}


//喜欢+1
export async function addLike(id) {
    return prisma.links.update({
        where: {
            id
        },
        data: {
            likes: {
                increment: 1
            }
        }
    })
}

//访问量+1
export async function addVisitCnt(id) {
    return prisma.links.update({
        where: {
            id,
        },
        data: {
            visitCnt: {
                increment: 1
            }
        }
    })
}
//添加收藏数量+1
export async function addBookmarkCnt(id) {
    return prisma.links.update({
        where: {
            id,
        },
        data: {
            bookmarkCnt: {
                increment: 1
            }
        }
    })
}

//添加收藏数量+1
export async function delBookmarkCnt(id) {
    return prisma.links.update({
        where: {
            id,
        },
        data: {
            bookmarkCnt: {
                decrement: 1
            }
        }
    })
}


export async function addTags(data) {
    return prisma.links.createMany({
        skipDuplicates: true,
        data,
    })
}

//管理审核
export async function updateLinks(_id, _status) {
    const status = Number(_status)
    const id = Number(_id)
    return prisma.links.update({
        where: {
            id
        },
        data: { status }
    })
}